home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 6
/
QRZ Ham Radio Callsign Database - Volume 6.iso
/
mac
/
files
/
amiga
/
rhinosrc.lha
/
ppp.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-06
|
2KB
|
81 lines
#ifndef _PPP_H
#define _PPP_H
/*
* This implementation of PPP is declared to be in the public domain.
*
* Jan 91 Bill_Simpson@um.cc.umich.edu
* Computer Systems Consulting Services
*
* Acknowledgements and correction history may be found in PPP.C
*/
#ifndef _GLOBAL_H
#include "global.h"
#endif
#ifndef _MBUF_H
#include "mbuf.h"
#endif
#ifndef _IFACE_H
#include "iface.h"
#endif
/* PPP definitions */
#define PPP_ALLOC 128 /* mbuf allocation increment */
struct ppp_hdr {
byte_t addr;
#define HDLC_ALL_ADDR 0xff /* HDLC all-station */
byte_t control;
#define HDLC_UI 0x03 /* HDLC Unnumbered Information */
int16 protocol;
#define PPP_IP_PROTOCOL 0x0021 /* Internet Protocol */
#define PPP_COMPR_PROTOCOL 0x002d /* Van Jacobson Compressed TCP/IP */
#define PPP_UNCOMP_PROTOCOL 0x002f /* Van Jacobson Uncompressed TCP/IP */
#define PPP_IPCP_PROTOCOL 0x8021 /* Internet Protocol Control Protocol */
#define PPP_LCP_PROTOCOL 0xc021 /* Link Control Protocol */
#define PPP_PAP_PROTOCOL 0xc023 /* Password Authentication Protocol */
};
#define PPP_HDR_LEN 4 /* Max bytes for PPP/HDLC envelope header */
/* HDLC envelope constants */
#define HDLC_ENVLEN 8 /* Max bytes for HDLC envelope (outgoing) */
#define HDLC_FLAG 0x7e /* HDLC async start/stop flag */
#define HDLC_ESC_ASYNC 0x7d /* HDLC transparency escape flag for async */
#define HDLC_ESC_COMPL 0x20 /* HDLC transparency bit complement mask */
#define HDLC_FCS_START 0xffff /* Starting bit string for FCS calculation */
#define HDLC_FCS_FINAL 0xf0b8 /* FCS when summed over frame and sender FCS */
/* In ppp.c: */
int ppp_send __ARGS((struct mbuf *data,struct iface *iface,int32 gateway,
int tos));
int ppp_output __ARGS((struct iface *iface, char dest[], char source[],
int16 type, struct mbuf *data));
int ppp_init __ARGS((struct iface *iface,int vj));
int ppp_free __ARGS((struct iface *iface));
void ppp_proc __ARGS((struct iface *iface, struct mbuf *bp));
/* In pppcmd.c */
extern int PPPtrace; /* trace flag */
extern struct iface *PPPiface; /* iface for trace */
void ppp_show __ARGS((struct iface *ifp));
int doppp_commands __ARGS((int argc,char *argv[], void *p));
int doppp_active __ARGS((int argc, char *argv[], void *p));
int doppp_passive __ARGS((int argc, char *argv[], void *p));
int doppp_close __ARGS((int argc, char *argv[], void *p));
int doppp_timeout __ARGS((int argc, char *argv[], void *p));
int doppp_try __ARGS((int argc, char *argv[], void *p));
#endif /* _PPP_H */